Skip to content

Add nodask constraint for test-py314-no-dask environment#11385

Open
weiji14 wants to merge 5 commits into
pydata:mainfrom
weiji14:env/nodask
Open

Add nodask constraint for test-py314-no-dask environment#11385
weiji14 wants to merge 5 commits into
pydata:mainfrom
weiji14:env/nodask

Conversation

@weiji14

@weiji14 weiji14 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Description

Explicitly exclude dask-core from being installed. Discovered that some dask-dependent tests were being ran in the no-dask environment in PR #11383.

Reference: https://pixi.prefix.dev/latest/reference/pixi_manifest/#constraints

Checklist

AI Disclosure

Comment thread pixi.toml
cftime = "*"

# other
iris = "*"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed iris from feature.extras.dependencies because it depends on dask, and was polluting the test-py313-no-dask environment.

Error:   × failed to solve requirements of environment 'test-py313-no-dask' for platform 'win-64'
  ├─▶   × failed to solve the environment

  ╰─▶ Cannot solve the request because of: iris * cannot be installed because there are no viable options:
      ├─ iris 2.4.0 | 2.4.0 | 2.4.0 | 2.4.0 | 3.0.0 | 3.0.0 | 3.0.0 | 3.0.0 | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.2 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.3 | 3.0.4 | 3.0.4 | 3.0.4 | 3.1.0 | 3.1.0 | 3.1.0 | 3.1.0 | 3.1.0 | 3.1.0 | 3.1.0 would require
      │  └─ dask >=2, which cannot be installed because there are no viable options:
      │     └─ dask 2.0.0 | 2.1.0 | 2.2.0 | 2.3.0 | 2.4.0 | 2.5.0 | 2.5.2 | 2.6.0 | 2.7.0 | 2.8.0 | 2.8.1 | 2.9.0 | 2.9.1 | 2.9.2 | 2.10.0 | 2.10.1 | 2.11.0 | 2.12.0 | 2.13.0 | 2.14.0 | 2.15.0 | 2.16.0 | 2.17.0 | 2.17.1 | 2.17.2 | 2.18.0 | 2.18.1 | 2.19.0 | 2.20.0 | 2.21.0 | 2.22.0 | 2.23.0 | 2.24.0 | 2.25.0 | 2.26.0 | 2.27.0 | 2.28.0 | 2.29.0 | 2.30.0 | 2020.12.0 | 2021.1.0 | 2021.1.1 | 2021.2.0 | 2021.3.0 | 2021.3.1 | 2021.4.0 | 2021.4.1 | 2021.5.0 | 2021.5.1 | 2021.6.0 | 2021.6.1 | 2021.6.2 | 2021.7.0 | 2021.7.1 | 2021.7.2 | 2021.8.0 | 2021.8.1 | 2021.9.0 | 2021.9.1 | 2021.10.0 | 2021.11.0 | 2021.11.1 | 2021.11.2 | 2021.12.0 | 2022.1.0 | 2022.1.1 | 2022.2.0 | 2022.2.1 | 2022.3.0 | 2022.3.0 | 2022.4.0 | 2022.4.1 | 2022.4.2 | 2022.5.0 | 2022.5.1 | 2022.5.2 | 2022.6.0 | 2022.6.1 | 2022.7.0 | 2022.7.1 | 2022.8.0 | 2022.8.0 | 2022.8.0 | 2022.8.1 | 2022.9.0 | 2022.9.1 | 2022.9.2 | 2022.10.0 | 2022.10.0 | 2022.10.0 | 2022.10.2 | 2022.11.0 | 2022.11.1 | 2022.12.0 | 2022.12.1 | 2023.1.0 | 2023.1.1 | 2023.2.0 | 2023.2.1 | 2023.3.0 | 2023.3.1 | 2023.3.2 | 2023.4.0 | 2023.4.1 | 2023.5.0 | 2023.5.1 | 2023.6.0 | 2023.6.1 | 2023.7.0 | 2023.7.1 | 2023.8.0 | 2023.8.1 | 2023.9.0 | 2023.9.1 | 2023.9.2 | 2023.9.3 | 2023.10.0 | 2023.10.1 | 2023.11.0 | 2023.12.0 | 2023.12.1 | 2024.1.0 | 2024.1.1 | 2024.2.0 | 2024.2.1 | 2024.3.0 | 2024.3.0 | 2024.3.1 | 2024.4.0 | 2024.4.1 | 2024.4.2 | 2024.5.0 | 2024.5.1 | 2024.5.2 | 2024.6.0 | 2024.6.2 | 2024.7.0 | 2024.7.1 | 2024.8.0 | 2024.8.1 | 2024.8.2 | 2024.9.0 | 2024.9.1 | 2024.10.0 | 2024.11.0 | 2024.11.1 | 2024.11.2 | 2024.11.2 | 2024.12.0 | 2024.12.1 | 2025.1.0 | 2025.2.0 | 2025.3.0 | 2025.3.1 | 2025.4.0 | 2025.4.1 | 2025.5.0 | 2025.5.1 | 2025.5.1 | 2025.7.0 | 2025.9.0 | 2025.9.1 | 2025.9.2 | 2025.10.0 | 2025.11.0 | 2025.12.0 | 2026.1.1 | 2026.1.2 | 2026.1.2 | 2026.3.0 | 2026.6.0 would require
      │        └─ dask-core 2.0.0.*, for which no candidates were found.

This might reduce test coverage on iris-dependent tests though, so someone should verify if this makes sense.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we keep this section but use a similar constraint on iris in [feature.nodask.constraints]

@weiji14 weiji14 Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't work, if I do:

 [feature.nodask.constraints]
 dask-core = "<0.0a0"
+iris = "<0.0a0"

pixi complains like this:

Error:   × failed to solve requirements of environment 'test-py314-no-dask' for platform 'osx-arm64'
  ├─▶   × failed to solve the environment
  │
  ╰─▶ Cannot solve the request because of: The following packages are incompatible
      └─ iris * can be installed with any of the following options:
         └─ iris 3.1.0 | 3.1.0 | 3.2.0 | 3.2.0.post0 | 3.2.1 | 3.2.1.post0 | 3.3.0 | 3.3.1 |
      3.4.0 | 3.4.1 | 3.5.0 | 3.6.0 | 3.6.0 | 3.6.1 | 3.7.0 | 3.7.1 | 3.8.0 | 3.8.1 | 3.9.0 |
      3.10.0 | 3.10.0 | 3.10.0 | 3.11.0 | 3.11.1 | 3.11.1 | 3.12.0 | 3.12.1 | 3.12.2 | 3.12.3
      | 3.13.0 | 3.13.1 | 3.14.0 | 3.14.0 | 3.14.0 | 3.14.1 | 3.15.0
      ├─ the constraint iris <0.0a0 cannot be fulfilled
      ├─ the constraint iris <0.0a0 cannot be fulfilled
      ├─ ...

I think I'll follow the no-numba example, and just add iris to all the environments manually the dask feature environment.

Comment thread pixi.toml Outdated
@weiji14 weiji14 marked this pull request as ready for review June 18, 2026 01:39
@weiji14 weiji14 changed the title Add nodask constraint for test-py313-no-dask environment Add nodask constraint for test-py314-no-dask environment Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants